package cn.clq.ymcc.service;

import cn.clq.ymcc.domain.KillCourse;
import cn.clq.ymcc.dto.KillParamDto;
import cn.clq.ymcc.vo.CourseOrderVo;
import com.baomidou.mybatisplus.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author stone.chen
 * @since 2022-08-04
 */
public interface IKillCourseService extends IService<KillCourse> {


    /**
     * @description: 给秒杀活动新增课程
     * @param: killCourse
     * @return: cn.clq.ymcc.result.JSONResult
     * @author clqlongbao
     * @date: 2022/8/6 1:03
     */
    void save(KillCourse killCourse);


    /**
     * @description: 查询所有秒杀课程
     * @param:
     * @return: cn.clq.ymcc.result.JSONResult
     * @author clqlongbao
     * @date: 2022/8/6 19:31
     */
    List<KillCourse> onlineAll();


    /**
     * @description: 查询秒杀课程的详情页数据
     * @param: activityId   killId
     * @return: cn.clq.ymcc.result.JSONResult
     * @author clqlongbao
     * @date: 2022/8/6 23:52
     */
    KillCourse onlineOne(Long activityId, Long killId);


    /**
     * @description: 秒杀下单，返回预创订单的订单号
     * @param: dto
     * @return: cn.clq.ymcc.result.JSONResult
     * @author clqlongbao
     * @date: 2022/8/7 0:19
     */
    String kill(KillParamDto dto);


    /**
     * @description: 查询订单结算页所需数据
     * @param: orderNo
     * @return: cn.clq.ymcc.result.JSONResult
     * @author clqlongbao
     * @date: 2022/8/7 1:03
     */
    CourseOrderVo oneByOrder(String orderNo);
}
